package com.qzsoft.zhjd.monitoring.modules.videomonitor.service;

import java.util.List;
import java.util.Map;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qzsoft.zhjd.monitoring.modules.videomonitor.dto.StreamInfoDto;
import com.qzsoft.zhjd.monitoring.modules.videomonitor.entity.VideoMonitorEntity;

/**
 * @ClassName VideoMonitorService
 * @Description 视频监控业务接口
 * @author linhuawei
 * @since 2022-03-22
 */
public interface VideoMonitorService extends IService<VideoMonitorEntity> {

//    /**
//     * @Title pageDto
//     * @Description 获取视频分页列表
//     * @param params 查询条件
//     * @return 视频分页列表
//     */
//    public IPage<VideoMonitorListDto> pageDto(Map<String, Object> params);

    /**
     * @Title page
     * @Description 获取视频分页列表
     * @param params 查询条件
     * @return 视频分页列表
     */
    public IPage<VideoMonitorEntity> page(Map<String, Object> params);

    /**
     * @Title list
     * @Description 获取视频监控列表
     * @param params 查询条件
     * @return 视频监控列表
     */
    public List<VideoMonitorEntity> list(Map<String, Object> params);

//    /**
//     * @Title listAllEnable
//     * @Description 获取所有启用状态的监控设备
//     * @return 监控设备列表
//     */
//    public List<VideoMonitorEntity> listAllEnable();

    /**
     * @Title getStreamInfo
     * @Description 获取播放信息
     * @param app
     * @param stream
     * @param resourceType
     * @return
     */
    public StreamInfoDto getStreamInfo(String app, String stream, String resourceType);

//    /**
//     * @Title disable
//     * @Description 停用当前摄像头
//     * @param id 摄像头主键
//     */
//    public void disable(String id);
//
//    /**
//     * @Title disable
//     * @Description 停用当前摄像头
//     * @param app
//     * @param stream
//     */
//    public void disable(String app, String stream);

    /**
     * @Title getByAppAndStream
     * @Description 获取监控信息
     * @param app
     * @param stream
     * @return
     */
    public VideoMonitorEntity getByAppAndStream(String app, String stream);

}
